// utils/imageManager.js

const imageConfig = {
	// 是否使用网络路径（全局开关）
	useOnlinePath: false,

	// 路径前缀配置
	basePaths: {
		online: 'https://your-cdn.com/project/',
		local: '/static/images/'
	},

	// 按页面分类的完整路径配置
	imageMap: {
		// index入口界面
		index: {
			background1: {
				online: 'index/background/1.png',
				local: 'index/background/1.png'
			},
			logo: {
				online: 'index/logo/1.png',
				local: 'index/logo/1.png',
			},
			loading: {
				online: 'index/loading/1.gif',
				local: 'index/loading/1.gif',
			}
		},
		// 首页 
		home: {
			// 背景
			background1: {
				online: 'home/background/1.png',
				local: 'home/background/1.png',
			},
			// 背景
			background2: {
				online: 'home/background/2.png',
				local: 'home/background/2.png',
			},
			// 背景
			background3: {
				online: 'home/background/3.png',
				local: 'home/background/3.png',
			},
			// 背景
			background4: {
				online: 'home/background/4.png',
				local: 'home/background/4.png',
			},
			// 背景
			background5: {
				online: 'home/background/5.png',
				local: 'home/background/5.png',
			},
			//logo
			logo: {
				online: 'home/logo/logo.png',
				local: 'home/logo/logo.png',
			},
		}

	},

	// 切换路径类型（true=网络路径，false=本地路径）
	switchPathType(isOnline) {
		this.useOnlinePath = !!isOnline
		console.log(`已切换到${this.useOnlinePath ? '网络' : '本地'}路径`)
	},

	// 获取当前路径前缀
	get currentBase() {
		return this.useOnlinePath ? this.basePaths.online : this.basePaths.local
	},

	// 通用获取方法
	getImg(page, name) {
		const imgData = this.imageMap[page]?.[name]
		if (!imgData) {
			console.error(`找不到图片配置：${page}.${name}`)
			return this.getFallbackImage()
		}
		return this.currentBase + (this.useOnlinePath ? imgData.online : imgData.local)
	},

	// 快捷方法（自动补全页面）
	home: {
		banner: () => imageConfig.getImg('home', 'banner'),
		logo: () => imageConfig.getImg('home', 'logo')
	},

	profile: {
		avatar: () => imageConfig.getImg('profile', 'avatar')
	},

	// 备用图片
	getFallbackImage() {
		return this.currentBase + 'common/error.jpg'
	}
}

export default imageConfig